#pragma once 

#include <gl/glew.h>
#include "mesh.h"
#include "mtxlib.h"

namespace Scene
{
	extern mesh_t	
						lamp, 
						monitor, screen, 
						chair_back, chair_seat;

	extern GLuint		table_side, table_top, table_leg, 
						teapot,
						shelf;

	extern matrix44		matrix_lamp, 
						matrix_monitor, 
						matrix_chair, 
						matrix_teapot,
						matrix_table, 
						matrix_shelf,
						matrix_lamp_view, matrix_lamp_projection;

	extern const float			light_near, light_far;	
	extern const float			table_h;
	extern const float			table_r;
	extern const float			table_top_h;
	extern const vector3		table_pos;

	extern vector4			camera_pos;
	extern matrix44			matView, matProj;
	extern int				w, h;
	extern bool				mirror;

	void init();
	void done();
	void update_lamp(float time);
}

